In the computing field some computing systems require enabling the running of several virtual machines (VMs) on a single physical machine. A VM may be, for example, a software implementation of a computing machine (e.g. a computer) that executes instructions like a physical machine. In order to enable the execution of several VMs on a single hardware machine one or more virtual mass-storage devices may be allocated for at least some of the VMs. For example for each such VM, a local hard disk or a network based storage solution may be emulated that uses a portion of the storage capacity of the mass-storage device and looks for its respective VM as a solely owned and operated storage device.
Virtualization solutions may include for example three elements: a hypervisor, a “Device Model” and VMs. A hypervisor is a term commonly used to define techniques and software components which allow multiple operating systems, sometimes termed ‘guests’, to run concurrently on a single computer, usually termed ‘host computer’. Two virtualization software architectures are well known in the field of computing, commonly referred to as Type 1 architecture and Type 2 architecture. In the Type 1 software architecture, also termed a ‘bare-metal’ or ‘native’ hypervisor, the hypervisor is a software component that runs directly on the host computer hardware to control the hardware and to monitor guest operating systems (OSs), by interacting directly with the underlying hardware. In Type 2 architecture one of the VMs is assigned to be the host OS. The host OS may interact with the underlying hardware and the hypervisor is in fact a process running within the context of the host OS and itself hosting one or more guest OSs.
When a virtualization solution is activated specific VMs may be defined. One may be a Mastering Virtual Machine (MVM) which is the VM that is responsible for various hardware activities, such as accessing network(s), etc. Other hosted VMs will, according to such configuration, access these networks (and other mastered resources) via the control of MVM. The MVM may take various forms and configurations in different setups and technologies, such as a headless OS (an OS which does not require any input from or output to a user) or a “full blown” OS (such as Microsoft Windows). The other roles a specific VM may assume may be for example a primary VM (PVM), which is the VM residing and running on the computer before a hypervisor is installed and an additional VM (AVM), a VM without any special traits or features with regard to the hypervisor operating system and/or the computer. Those roles are not mutually exclusive. The term “Device Model” is used herein to define a configuration, or set of defining values of configuration parameters, that define the respective parameters for each hosted VM.
Type 1 virtualization solutions involve several disadvantages subject to the method of installation of the hypervisor operating system. When the installation involves first erasure of the entire hard disk and then installation of the hypervisor from scratch it is destructive and erases any existing OS installations. Accordingly, it prevents this approach from being used in non-enterprise class and/or outside-of-the-enterprise-perimeter solutions and it requires professional information technology (IT) personal to handle the installation. When the installation involves repartitioning an existing hard-disk for allocating disk space for the virtualization solution (e.g. hypervisor) it causes users of the hard disk to notice a change in the hard disk actual size, it raises technical problems related to disk repartitioning, it raises OS re-activation issues (for example, once the Windows® OS detects such changes, it sometimes requires the end-user to “reactivate” the Windows® license), it raises “uninstall” problems and is difficult to implement on hard disk that is encrypted.
It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.